#!/bin/bash
# 确保安装git mvn 命令行
# 设计方案
download_dir=$HOME/jssp
git_url=https://gitee.com/xieweig/jssp
#核心打包后的可执行文件 全路径名和短名
CORE_FILE=
CORE_FILE_SHORT=
PID=

#准备工作
if [ ! -d ${download_dir} ]; then
    echo [Debug: "project dir is not exist, then create "]
    mkdir ${download_dir}
fi

cd ${download_dir}
echo [Debug: 进入工作目录 ${PWD}]

# 第一大步骤 git克隆或拉取最新代码
# 通过判定.git目录是否存在 确定使用clone 还是pull
#git clone ${git_url} ${download_dir}
if [ -d ${download_dir}/.git ]; then
  echo [Debug: Git进行代码拉取master分支]
  git pull origin master
else
  echo [Debug: Git进行仓库克隆，默认获取master分支]
  git clone ${git_url} ${download_dir}
fi


# 第二大步骤 maven构建 war jar 文件
#ls -lah
mvn clean
mvn package -Dmaven.test.skip=true
#echo $?

# 第三大步骤 确定核心可执行文件
CORE_FILE_SHORT=$(ls ./target/ | grep .*ar$)
echo [Debug:核心可执行文件名： ${CORE_FILE_SHORT}]
CORE_FILE=$(realpath ./target/${CORE_FILE_SHORT})
echo [Debug:核心可执行文件全路径名： ${CORE_FILE}]

#第四大步骤 后台运行软件 获取软件PID
nohup java -jar ${CORE_FILE} > /tmp/${CORE_FILE_SHORT}.log 2>&1 &
sleep 2
PID=$(jps | grep $CORE_FILE_SHORT | awk '{print$1}')

echo [Debug:运行完毕 PID是 $PID]